home *** CD-ROM | disk | FTP | other *** search
-
- /* Adt.h : Abstrakte Datentypen */
-
- /* Farbe: */
- #define weiss 0
- #define schwarz 8
- typedef int Farbe;
-
- /* Figur: */
- #define wbauer 1
- #define wspringer 2
- #define wlaeufer 3
- #define wturm 4
- #define wdame 5
- #define wkoenig 6
- #define sbauer 9
- #define sspringer 10
- #define slaeufer 11
- #define sturm 12
- #define sdame 13
- #define skoenig 14
- #define leer 16
- #define bauer 1
- #define springer 2
- #define laeufer 3
- #define turm 4
- #define dame 5
- #define koenig 6
- #define farbmask 24
- #define figmask 7
- typedef int Figur;
-
- /* Feld: */
- #define yposmask 15
- typedef int Feld;
-
- /* Special: */
- #define wkroch 0x0100
- #define wlroch 0x0200
- #define skroch 0x1000
- #define slroch 0x2000
- #define wroch 0x0300
- #define sroch 0x3000
- #define epmask 0x00ff
- typedef int Special;
-
- /* Zug: */
- struct Zug {
- Figur figur;
- Feld start;
- Feld ziel;
- };
-
- /* Zugstat: */
- struct Zugstat {
- struct Zug zug;
- long knoten;
- long zeit;
- int wertung;
- };
-
- /* Knoten: */
- struct Knoten {
- struct Zug zug;
- struct Knoten *nachbar;
- struct Knoten *nachfolger;
- int zugwertung;
- };
-
- /* Ereignis: */
- #define zugs 0
- #define ende 1
- struct Ereignis {
- int ereignistyp;
- struct Zug zug;
- };
-